From 60f84119988e530cd13ae888ac1c45e3aa2fa95a Mon Sep 17 00:00:00 2001 From: Federico Mena Quintero Date: Fri, 30 Sep 2011 08:10:57 -0500 Subject: [PATCH] Make gtk_places_sidebar_set_current_uri() handle NULL URIs to unselect all Signed-off-by: Federico Mena Quintero --- gtk/gtkplacessidebar.c | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/gtk/gtkplacessidebar.c b/gtk/gtkplacessidebar.c index d9db9c6cf9..8916d3a888 100644 --- a/gtk/gtkplacessidebar.c +++ b/gtk/gtkplacessidebar.c @@ -3397,12 +3397,23 @@ gtk_places_sidebar_set_current_uri (GtkPlacesSidebar *sidebar, const char *uri) gboolean valid; char *iter_uri; - if (strcmp (sidebar->uri, uri) != 0) { + g_return_if_fail (GTK_IS_PLACES_SIDEBAR (sidebar)); + + selection = gtk_tree_view_get_selection (sidebar->tree_view); + + if (uri == NULL) { + g_free (sidebar->uri); + sidebar->uri = NULL; + + gtk_tree_selection_unselect_all (selection); + return; + } + + if (sidebar->uri == NULL || strcmp (sidebar->uri, uri) != 0) { g_free (sidebar->uri); sidebar->uri = g_strdup (uri); /* set selection if any place matches the uri */ - selection = gtk_tree_view_get_selection (sidebar->tree_view); gtk_tree_selection_unselect_all (selection); valid = gtk_tree_model_get_iter_first (sidebar->filter_model, &iter); -- 2.30.2